package org.springframework.context.annotation;

import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition;
import org.springframework.beans.factory.support.GenericBeanDefinition;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.core.type.classwriting.AbstractMetadataWriter;

@SuppressWarnings("serial")
public class ASMGenericBeanDefinition extends GenericBeanDefinition implements AnnotatedBeanDefinition{

	private final AnnotationMetadata metadata;
	public ASMGenericBeanDefinition(AbstractMetadataWriter metadata) throws Throwable{
		this.metadata = metadata;
		setBeanClass(metadata.buildClass());
	}
	
	@Override
	public AnnotationMetadata getMetadata() {
		return this.metadata;
	}

}
